package br.com.docgest.repositorio;

import br.com.docgest.entidades.Cliente;
import br.com.docgest.hibernate.NewHibernateUtil;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import org.hibernate.Session;

public class RepositorioCliente {

    Session session = NewHibernateUtil.getSessionFactory().getCurrentSession();
    Cliente c1 = new Cliente();

    public void adicionarCliente(String razaoSocial, String nomeFantazia,
            String segmentoAtual, String endereco, String bairro, String cidade,
            String estado, String cep, String cnpj, String ie, String gerenteTi,
            String gerenteCompras, String gerenteAdminFinanceiro, String telefone,
            String telefone2, String telefone3, String telefone4, String email,
            String emial2, String email3, String email4, String pontoReferencia,
            String obs, Integer status) {

        c1.setIdCliente(Integer.MIN_VALUE);
        c1.setRazaoSocial(razaoSocial);
        c1.setNomeFantazia(nomeFantazia);
        c1.setSegmentoAtual(segmentoAtual);
        c1.setEndereco(endereco);
        c1.setBairro(bairro);
        c1.setCidade(cidade);
        c1.setEstado(estado);
        c1.setCep(cep);
        c1.setCnpj(cnpj);
        c1.setIe(ie);
        c1.setGerenteTi(gerenteTi);
        c1.setGerenteCompras(gerenteCompras);
        c1.setGerenteAdminFinanceiro(gerenteAdminFinanceiro);
        c1.setTelefone(telefone);
        c1.setTelefone2(telefone2);
        c1.setTelefone3(telefone3);
        c1.setTelefone4(telefone4);
        c1.setEmail(email);
        c1.setEmial2(emial2);
        c1.setEmail3(email3);
        c1.setEmail4(email4);
        c1.setPontoReferencia(pontoReferencia);
        c1.setObs(obs);
        c1.setStatus(status);

        session.beginTransaction();
        session.save(c1);
        session.getTransaction().commit();

        JOptionPane.showMessageDialog(null, "Cliente adicionado com sucesso.");
    }

    public Cliente pegarCliente(int idCliente) {
        session.beginTransaction();
        List<Cliente> lista = (List<Cliente>) 
                session.createQuery("From Cliente where idCliente = " + idCliente).list();
        for (Cliente cc : lista) {
            return cc;
        }
        session.getTransaction().commit();
        return null;
    }
    
    public Cliente pegarCliente2(String nomeFantazia){
        session.beginTransaction();
        List<Cliente> lista = (List<Cliente>) session.createQuery("From Cliente").list();
        for (Cliente cc : lista) {
            if(cc.getNomeFantazia().equals(nomeFantazia)){
                return cc;
            }            
        }
        session.getTransaction().commit();
        return null;
    }    
    
}
